Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and flash memory.
Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Changes in threshold voltage of the cells, through programming of charge storage or trapping layers or other physical phenomena, determine the data value of each cell. Common uses for flash memory and other non-volatile memory include personal computers, personal digital assistants (PDAs), digital cameras, digital media players, digital recorders, games, appliances, vehicles, wireless devices, mobile telephones, and removable memory modules, and the uses for non-volatile memory continue to expand.
Flash memory typically utilizes one of two basic architectures known as NOR flash and NAND flash. The designation is derived from the logic used to read the devices. In NOR flash architecture, a logical column of memory cells are coupled in parallel with each memory cell coupled to a data line (such as those typically referred to as bit lines). In NAND flash architecture, a column of memory cells are coupled in series with only the first memory cell of the column coupled to a bit line.
As the performance and complexity of electronic systems increase, the requirement for additional memory in a system also increases. However, in order to continue to reduce the costs of the system, the parts count must be kept to a minimum. This can be accomplished by increasing the memory density of an integrated circuit by using such technologies as multilevel cells (MLC). For example, MLC NAND flash memory is a very cost effective non-volatile memory.
Multilevel cells take advantage of the analog nature of a traditional flash cell by assigning a bit pattern to a specific threshold voltage (Vt) range stored on the cell. This technology permits the storage of two or more bits per cell, depending on the quantity of voltage ranges assigned to the cell and the stability of the assigned voltage ranges during the lifetime operation of the memory cell.
Two architectures used for programming multi-level cell (MLC) memories are shielded and non-shielded. In a shielded bit line architecture, cells are programmed only on alternating bit lines, while the bit lines adjacent the bit line to be programmed are grounded. In adjacent bit line (ABL) programming, all bit lines are programmed simultaneously. In certain circumstances, a target bit line that is having cells thereon programmed may have one or both adjacent bit lines at an inhibit voltage, which is a logic level 1. A so-called kink effect can occur in ABL programming when adjacent bit lines on either side of a bit line that has cells thereon being programmed are either both inhibited, or one of the bit lines is inhibited. In this situation, a subsequent programming pulse on the target bit line can have a large ΔVt movement of the cell threshold voltage, much larger than the program step-up from the previous pulse. If such a programming pulse occurs at a time when the cell on the target bit line is approaching its final desired target threshold voltage, the cell can easily be overprogrammed, and cause a runaway programming to occur.
For the reasons stated above, and for other reasons which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for improvements in programming MLC memories using ABL architectures.